import xlrd
import xlwt
# # 练习：读取阿里巴巴的数据，将其中的日期数据格式化为年月日，将小数保留小数点后3位
workbook = xlrd.open_workbook(r'Day27-data/student.xls')
sheet = workbook.sheet_by_name('学生表')
# 获取工作表中的总行数和总列数
print(sheet.nrows, sheet.ncols)  # 255 7

workbook0 = xlwt.Workbook()
sheet0 = workbook0.add_sheet('学生表')

# 遍历工作表
for row in range(sheet.nrows):   # 遍历行
    for col in range(sheet.ncols):  # 遍历列
        # 获取每个单元格对象
        cell = sheet.cell(row, col)
        # 获取单元格的值
        value = cell.value
        print(value, end=' ')

        if row > 0:  # row为0的时候为表头，不作任何处理
            if col == 0:
                # 对日期进行格式化
                # xldate_as_tuple(日期数据，0/1)将日期数据转化为元组形式
                # 0：以1900-1-1为基准的日期  1：1904-1-1为基准的日期
                date_tuple = xlrd.xldate_as_tuple(value, 0)
                new_value = '%d年%.2d月%.2d日' % (date_tuple[0], date_tuple[1], date_tuple[2])
                sheet0.write(row, col, new_value)
            else:
                # 对数字进行格式化
                new_value = '%.3f' % (value)
                sheet0.write(row, col, new_value)
        else:
            sheet0.write(row, col, value)

workbook0.save(r'Day27-data\student_1.xls')
